package com.kxmall.huishou.domain.bo;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.kxmall.common.core.domain.BaseEntity;
import com.kxmall.common.core.validate.AddGroup;
import com.kxmall.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 回收结算订单信息业务对象 hs_settlement_order
 *
 * @author kxmall
 * @date 2023-11-24
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class HsSettlementOrderBo extends BaseEntity {

    /**
     * 
     */
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 订单编号
     */
    @NotBlank(message = "订单编号不能为空", groups = { EditGroup.class })
    private String orderNo;

    /**
     * 预约订单id
     */
//    @NotNull(message = "预约订单id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long appointOrderId;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 总重量
     */
    @NotNull(message = "总重量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal weightTal;

    /**
     * 总金额
     */
    @NotNull(message = "总金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal amountTal;

    /**
     * 回收员id
     */
    private Long riderId;



    /**
     * 支付图片
     */
    private String imgUrl;

    //0平台余额结算，1支付宝，2微信，3银行卡,4线下支付
    @NotNull(message = "总金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer payType;

    /**
     * 0结算中，1支付确认中，2支付成功，完结，3支付失败,4失败，完结
     */
//    @NotNull(message = "0结算中,未确认，1已确认通过，未支付，2确认不通过，3已支付，待确认，4支付成功，完结，5支付失败,6失败，完结不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long status;

    //关联类型，0预约结算，1自主结算
    private Integer linkType;

    private String queryTime;
    /**
     * 是否已删除 默认0
     */
    @TableLogic(value = "0",delval = "1")
    private Integer isDel;
    private List<HsUserWasteBo> hsUserWasteBoList;

}
